var $userTrainingTable = $('#userTrainingTable');

//防止表头与表格不对齐
$(window).resize(function () {
    $userTrainingTable.bootstrapTable('resetView');
});

$(function () {
    selectTime("all");
    userTrainingTableInit();
    selInit();
    $('#enterpriseType').selectpicker()
    $('#endTime').datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd",
        startDate: new Date()
    });

    $('#addContactForm').bootstrapValidator({
        excluded: [":disabled"],
        fields: {
            customerId:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '客户名称不能为空'
                    }
                }
            },
            contactId:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '客户联系人不能为空'
                    }
                }
            },
            customerPhone:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '手机号不能为空'
                    },
                    // regexp: {
                    //     regexp: /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/,
                    //     message: '请输入正确的手机号'
                    // }
                    stringLength:{
                        max:12,
                        message:'请输入正确的联系方式'
                    }
                }
            },
            enterpriseType:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '企业类型不能为空'
                    }
                }
            },
            customerJob:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '客户联系人职务不能为空'
                    }
                }
            },
            enterpriseSituation:{
                validators: {
                    notEmpty: {
                        message: '企业基本情况不能为空'
                    }
                }
            },
            internalTraining:{
                validators: {
                    notEmpty: {
                        message: '企业内训需求不能为空'
                    }
                }
            },
            endTime:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '结束时间不能为空'
                    }
                }
            }

        }
    })
});

function getTel() {
    var data = $("#contactId option:selected").attr("data");
    $("#customerPhone").val(data);
    $('#customerPhone').change()
}
function selInit(){
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: '/customerController/getCustomerUserList',
        cache : false,
        data:{},
        // async : false,
        success: (function (data) {
            if (data.code == "000000") {
                // if (data.data.length == 0) {
                //     // // 客户列表为空时，显示新增客户按钮
                //     // $("#customerId").selectpicker('destroy').hide(0).after('<button type="button" class="btn btn-success btn-label" onclick="addCustomer()"><label><i class="mdi mdi-plus"></i></label>新增客户</button>')
                //     // $('#addCustomer').on('click', function () {
                //     //     $('#addCustomerModel').modal('show');
                //     // })
                // } else {
                    // 客户列表不为空时，显示客户列表内容
                    var html = '';
                    $.each(data.data, function(n, value) {
                        html += "<option value=" + value.customerId + ">" +  value.customerName + "</option>";
                    });
                    $("#customerId").html(html).selectpicker('refresh').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {      // 内容变更触发
                        $('#contactId').attr('disabled', false);
                        //联系人列表下拉框
                        $.ajax({
                            type: 'GET',
                            dataType: "json",
                            url: '/trainingContract/getTrainingCustomerContactList',
                            cache : false,
                            data:{
                                customerId : $('#customerId').val()
                            },
                            async : false,
                            success: (function (data) {
                                if (data.code == "000000") {
                                    $('#addContactBtn').remove();      // 初始化删除添加按钮
                                        var html = '<option value="">请选择</option>';
                                        $.each(data.data, function(n, value) {
                                            html += '<option value="' + value.contactId + '" data="' + value.contactInformation + '" >' +value.contactName + '</option>';
                                        });

                                        $("#contactId").selectpicker('destroy').html(html).selectpicker('refresh');
                                        $("#customerPhone").val('');
                                } else {
                                    alert("请求失败");
                                }
                            }),
                            error: (function (res) {
                                alert("请求失败");
                            })
                        });
                    });
                }
        }),
        error: (function (res) {
            promptInfo("数据请求失败，请刷新页面重试！");
        })
    });
}

function userTrainingTableInit(){
    $userTrainingTable.bootstrapTable('destroy');
    $userTrainingTable.bootstrapTable({
        classes: 'table table-hover table-bordered table-striped ',
        url: ' /training/trainingList',                            // 请求地址
        method: 'post',                                         // 请求方式
        contentType: "application/x-www-form-urlencoded",       // 请求内容类型
        dataType: "json",                                       // 数据类型
        striped: true,                                          // 是否显示行间隔色
        sortable: true,                                         // 是否启用排序
        sortOrder: "desc",                                      // 排序方式
        sortName: 'createTm',                                   // 排序字段
        cache: false,                                           // 是否使用缓存
        showColumns: false,                                     // 显示隐藏列
        showRefresh: false,                                     // 显示刷新按钮
        showToggle: false,                                      // 切换显示样式
        showFooter: false,                                      // 显示Table脚部
        pagination: true,                                       // 是否显示分页
        showPaginationSwitch: false,                            // 是否显示分页按钮
        clickToSelect: true,                                    // 是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,                                 // 最少要显示的列数
        undefinedText: '-',                                      // cell没有值时显示
        sidePagination: "server",                               // 分页方式：client客户端分页，server服务端分页
        uniqueId: 'workOrderId',
        idField: 'workOrderId',
        pageSize: globalPageSize,                                            // 每页的记录行数
        pageNumber: 1,                                          // 初始化加载第1页，默认第1页
        pageList: globalPageList,                            // 可供选择的每页的行数
        queryParams: queryParams,                               // 查询参数
        columns: [
            {title: '内训id', field: 'trainingId', visible: false},
            {title: '客户id', field: 'customerId', visible: false},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle', width: ''},
            {title: '创建时间', field: 'createTm', align: 'left', valign: 'middle'},
            {title: '内训负责人', field: 'userName', align: 'left', valign: 'middle', width: ''},
            {title: '状态', field: 'trainingState', align: 'left', valign: 'middle',formatter: contactTableList.trainingStateForm},
            {title: '结束时间', field: 'endTm', align: 'left', valign: 'middle'},
            {title: '操作', field: '', align: 'right', valign: 'middle', width: '', formatter: contactTableList.operation},
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {

        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式

    params.bs = '0';
    params.customerName = $('#poolNameMin').val();
    params.dateType = $('#dateType').val();

    //产品列表搜索条件
    return params;
}





// // 全部 本周 本月
function selectTime(time) {
    if (time == 'all') {//全部
        $('.all').addClass('active-second');
        $('.week').removeClass('active-second');
        $('.month').removeClass('active-second');
        $("#dateType").val("");
    }
    if (time == 'topMonth') {//本月
        $('.topMonth').addClass('active-second');
        $('.all').removeClass('active-second');
        $('.month').removeClass('active-second');
        $("#dateType").val("lastMonth");
    }
    if (time == 'month') {//本周
        $('.month').addClass('active-second');
        $('.all').removeClass('active-second');
        $('.topMonth').removeClass('active-second');
        $("#dateType").val("thisMonth");
    }
    $userTrainingTable.bootstrapTable('refresh');
}

/**
 * 功能：联系人列表自定义内容
 * */
var contactTableList = {
    trainingStateForm:function(value) {
        if(value == 1){
            return '进行中'
        }else if(value == 0){
            return '已完成'
        }else if(value == 2){
            return '已提交'
        }else if(value == 3){
            return '已分配'
        }
    },
    operation: function (value, row, index, field) {
        //userName
        //\'' + row.productActivityId + '\', \'' + newShelfStatus + '\'
        var html = '<button type="button" class="btn btn-default" onclick="userDetails(\'' + row.trainingId + '\',\''+row.userName+'\')"><i class="mdi mdi-eye"></i>详情</button>';
        html+='<button type="button" class="btn btn-default" onclick="userAdd(\'' + row.trainingId + '\')">新增</button>'
        //内训合同
        return html;
    },
}



/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 点击客户姓名跳转客户详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function customerNameFormat(value, row, index) {
    if(row.customerType == 1){
        return'<a href="#" onclick=contactNameDetail("' + row.customerName + '","' + row.contactPersonPhone + '")>'+value+'</a>';
    }else{
        return'<a href="#" onclick=customerDetail("' + row.customerId + '")>'+value+'</a>';
    }
}

function  customerDetail(customerId) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '客户详情',
        url: "/front/user/customerManager/customerDetail?customerId=" + customerId
    },true);
}

function contactNameDetail (customerName,contactPersonPhone) {
    var contactId = "";

    //查询联系人id,进行跳转
    $.ajax({
        url: '/contact/getCustomerIdAndContactNameAndAccountId',
        type: 'POST',
        dataType: "json",
        data: {
            contactName: customerName,
            contactInformation : contactPersonPhone,
            contactNature : '1'
        },
        success: (function (data) {
            if (data.code == "000000") {
                if (data.data.contactId != null) {
                    contactId = data.data.contactId;
                    parent.$(parent.document).data('multitabs').create({
                        iframe: true,
                        title: '联系人详情',
                        url: "/front/user/contactManager/contactDetail?contactId=" + contactId
                    },true);
                }else{
                    $.alert("数据有问题,请重试!");
                }
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}


function userDetails(trainingId){
    console.log(trainingId)
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '内训详情',
        url: "/front/trainingManager/userTrainingDetail?trainingId="+trainingId
    },true);
}

//用户添加内训合同
function userAdd(trainingId) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '内训详情',
        url: "/front/trainingManager/userTrainingAdd?trainingId="+trainingId
    },true);
}


function promptInfo(content) {
    $.alert({
        title: '温馨提示',
        content: content,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary'
            }
        }
    });
}


function addBtn(){
    $("#addContactForm").data('bootstrapValidator').resetForm();
    $('#customerId').val('');
    $('#customerId').selectpicker('refresh');
    $('#contactId').val('');
    $('#contactId').selectpicker('refresh');
    $('#customerPhone').val('');
    $('#enterpriseType').val('');
    $('#enterpriseType').selectpicker('refresh');
    $('#customerJob').val('');
    $('#endTime').val('');
    $('#endTime').datepicker('refresh');
    $('#enterpriseSituation').val('');
    $('#internalTraining').val('');
    $('#staticBackdrop').modal('show')
    selInit();
}

function submit() {
    var bootstrapValidator = $("#addContactForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: '/training/addTraining',
        cache : false,
        contentType: "application/json;charset=utf-8",
        data:JSON.stringify({
            customerId : $('#customerId').val(), //客户id
            customerName :$('#customerId').find('option:selected').text(),  //客户名称
            contactId:$('#contactId').val(), //联系人id
            contactName:$('#contactId').find('option:selected').text(), //联系人姓名
            contactInformation:$('#customerPhone').val(), //联系人电话
            contactPosition:$('#customerJob').val(),  //联系人职务
            businessType:$('#enterpriseType').val(), //企业类型
            endTm:$('#endTime').val(),
            businessBasicInformation:$('#enterpriseSituation').val(), //企业基本情况
            businessTrainingNeed:$('#internalTraining').val() , //企业内训
        }),
        async : false,
        success: (function (data) {
            if (data.code == "000000") {
                $('#staticBackdrop').modal('hide');
                userTrainingTableInit();
            } else {
                $.alert(data.message);
            }
        }),
        error: (function (res) {
            alert("请求失败");
        })
    });
}



